package main

import "fmt"

// 我想知道空接口接收的值具体是什么？

// 类型断言1

func assign(a interface{}) {
	fmt.Printf("%T\n", a)
	str, ok := a.(string)
	if !ok {
		fmt.Println("拆错了")
	} else {
		fmt.Println("传进来的是一个字符串:", str)
	}
	fmt.Println(str)
}

// 类型断言2
func assign2(a interface{}) {
	fmt.Printf("%T\n", a)
	switch t := a.(type) {
	case string:
		fmt.Println("是一个字符串：", t)
	case int:
		fmt.Println("是一个int：", t)
	case bool:
		fmt.Println("是一个bool:", t)
	}

}

func main() {
	assign2(100)
	assign2(int64(200))
}
